package com.ssm.dao;

import com.ssm.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by bai on 2017/7/25.
 */


public interface UserDao {

    /*User类的数据访问接口*/

    /*这里为什么要给方法的参数添加@Param注解呢？
     *是因为该方法有两个或以上的参数，一定要加，不然mybatis识别不了。*/

    /**
     * 通过ID查询单个用户
     *
     * @param id
     * @return
     */
    User queryById(@Param("id") int id);

    /**
     * 通过姓名查询单个用户
     *
     * @param username
     * @return
     */
    User queryByName(@Param("username") String username);

    /**
     * 查询所有用户
     *
     *
     * @return
     */
    List<User> queryAll();


    /**
     *添加/插入用户
     *
     * @param username
     * @param userPwd
     *
     */
    void addUser(@Param("username") String username,@Param("userPwd")String  userPwd);

    /**
     *
     *删除用户
     *@param id
     *
     *@return 如果影响行数等于>1，表示更新的记录行数
     * */

    void deleteUser(@Param("id") int id);


    /**
     *
     *更新用户信息
     *
     * */
    void updateUser(@Param("id") int id,@Param("userName") String userName ,@Param("userPwd") String userPwd);


    /**
     *
     * 根据关键字查询符合条件的用户集合
     *
     * */

    List<User> queryByKeyName(@Param("keyName") String keyName);


}
